Make xm trigger talk XenAPI; add send_trigger to VM class.
authorEwan Mellor <ewan@xensource.com>
Tue, 20 Mar 2007 17:30:52 +0000 (17:30 +0000)
committerEwan Mellor <ewan@xensource.com>
Tue, 20 Mar 2007 17:30:52 +0000 (17:30 +0000)
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
tools/python/xen/xend/XendAPI.py
tools/python/xen/xm/main.py

index 70075c560b3a436a27b040df12625ab4519e54e3..a0f7c351b47adfff2f74ff2b9354e1063b609515 100644 (file)
@@ -1087,7 +1087,8 @@ class XendAPI(object):
                   ('add_to_platform', None),
                   ('remove_from_platform', None),
                   ('add_to_other_config', None),
-                  ('remove_from_other_config', None)]
+                  ('remove_from_other_config', None),
+                  ('send_trigger', None)]
     
     VM_funcs  = [('create', 'VM'),
                  ('get_by_name_label', 'Set(VM)')]
@@ -1534,6 +1535,13 @@ class XendAPI(object):
         return xen_api_success_void()
 
 
+    def VM_send_trigger(self, _, vm_ref, trigger, vcpu):
+        xendom = XendDomain.instance()
+        xeninfo = xendom.get_vm_by_uuid(vm_ref)
+        xendom.domain_send_trigger(xeninfo.getDomid(), trigger, vcpu)
+        return xen_api_success_void()
+        
+
     # Xen API: Class VM_metrics
     # ----------------------------------------------------------------
 
index 0ae9f973782af446da509a38e3c81740af76bb34..5f8449d37646987c91d76fa4f3d355935c28490e 100644 (file)
@@ -1544,8 +1544,11 @@ def xm_trigger(args):
     trigger = args[1]
     if len(args) == 3:
         vcpu = int(args[2])
-    
-    server.xend.domain.send_trigger(dom, trigger, vcpu)
+        
+    if serverType == SERVER_XEN_API:
+        server.xenapi.VM.send_trigger(get_single_vm(dom), trigger, vcpu)
+    else:
+        server.xend.domain.send_trigger(dom, trigger, vcpu)
 
 def xm_debug_keys(args):
     arg_check(args, "debug-keys", 1)